--[[ 编码: JX-105-10 名称: 出库波次--显示前 作者:HAN 日期: 2025-1-29 入口函数:BeforeGridShow 功能说明: 控制行按钮显示 V2.0 HAN 2025-2-23 状态值增加,行按钮显示控制 --]] json = require ("json") mobox = require ("OILua_JavelinExt") m3 = require("oi_base_mobox") function BeforeGridShow ( strLuaDEID ) local nRet, strRetInfo local data_objs local n, nCount local bs_state_name ={"未配货","配货中","配货完成","作业中","出库完成","错误","暂停中","暂停","关闭中","关闭"} nRet, data_objs = m3.GetSysDataJson( strLuaDEID ) if ( nRet ~=0 ) then lua.Error( strLuaDEID, debug.getinfo(1), data_objs ) end nCount = #data_objs if (nCount == 0) then return end local obj local row_data_set = {} local bs_state local wave_no strDataJson = '[' for n = 1, nCount do local row_item = {} obj = data_objs[n] row_item.id = obj.id row_item.attrs = {} row_item.row_button_hidden = "出库;删除;重置;强制完成" wave_no = '' -- 获取 项目清单 对象属性 for nIndex = 1, #obj.attrs do local attr_value = {} attr_value.attr = obj.attrs[nIndex].attr attr_value.value = obj.attrs[nIndex].value if ( attr_value.attr == 'N_B_STATE' ) then bs_state = lua.StrToNumber( attr_value.value ) attr_value.value = bs_state_name[bs_state+1] -- 如果 未配盘,已配盘 可以删除 if ( bs_state == 0 ) then row_item.row_button_hidden = "出库;重置" elseif ( bs_state == 1 ) then row_item.row_button_hidden = "出库;重置" attr_value.bk_color = "#FAFAD2" attr_value.text_color = "#000000" -- 2 配货完成 elseif ( bs_state == 2 ) then row_item.row_button_hidden = "重置" attr_value.bk_color = "#FFD700" attr_value.text_color = "#000000" -- 3 作业中 elseif ( bs_state == 3 ) then row_item.row_button_hidden = "出库;重置" attr_value.bk_color = "#FFD700" attr_value.text_color = "#000000" -- 4 出库完成 9 -- 关闭 elseif ( bs_state == 4 or bs_state == 9 ) then row_item.row_button_hidden = "出库;重置;强制完成" attr_value.bk_color = "#7FFFAA" attr_value.text_color = "#000000" -- 5 错误 elseif ( bs_state == 5 ) then row_item.row_button_hidden = "出库" attr_value.bk_color = "#FF0000" attr_value.text_color = "#FFFFFF" -- 6 暂停中 elseif ( bs_state == 6 ) then row_item.row_button_hidden = "出库;重置;强制完成" attr_value.bk_color = "#808080" attr_value.text_color = "#FFFFFF" -- 7 暂停 elseif ( bs_state == 7 ) then row_item.row_button_hidden = "出库;重置" attr_value.bk_color = "#808080" attr_value.text_color = "#FFFFFF" -- 8 关闭中 elseif ( bs_state == 7 ) then row_item.row_button_hidden = "出库;重置;强制完成" attr_value.bk_color = "#808080" attr_value.text_color = "#FFFFFF" end end table.insert( row_item.attrs, attr_value ) end table.insert( row_data_set, row_item) end local action = { { action_type = "reset_data_attr", value = row_data_set } } nRet, strRetInfo = mobox.setAction(strLuaDEID, lua.table2str(action)) if ( nRet ~= 0 ) then lua.Error( strLuaDEID, debug.getinfo(1), "setAction错误: "..strRetInfo) end end